1. Field of the Invention
The present invention relates to a rendering processing technique.
2. Description of the Related Art
Japanese Patent Application Laid-Open No. 2000-137825 discusses a rendering method called scan line rendering. According to the scan line rendering, print data is read each line in the main scanning direction when the data is rendered. The scan line rendering is performed based on information of an edge (edge data). An edge is a border between two image objects or between an image object and a background image to be rendered in a page. The image object is hereinafter referred to as an object. According to the method discussed in Japanese Patent Application Laid-Open No. 2000-137825, edge data of one line is loaded into a memory to perform the scan line rendering.
Print data to be rendered, which is generated by a user using application software, may include many edges and may be complicated due to enhancement of rendering capability of the application software. Thus, shortage of memory resources for the rendering tends to occur. Further, the rendering tends to take too much time.
As a rendering processing method for the print data including a great number of edges, Japanese Patent Application Laid-Open No. 2002-169668 discusses processing called fallback processing. According to the fallback processing, objects in page description language (PDL) data to be processed is grouped by level and a plurality of display lists is generated.
When print data including a great number of edges is rendered using the scan rendering processing discussed in Japanese Patent Application Laid-Open No. 2000-137825, if the fallback processing discussed in Japanese Patent Application Laid-Open No. 2002-169668 is used, the display lists can be generated by utilizing limited memory resources.
However, if the generated display lists, which are generated for each layer, include too many edges to be stored in a central processing unit (CPU) cache, a cache miss of the CPU cache may frequently occur. When such cache miss frequently occurs, rendering processing, especially edge processing, takes time. A cache miss refers to a failed attempt to read or write a piece of data in the cache, which results in a main memory access with much longer latency.